package com.rede.didiok.admin.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rede.didiok.admin.entity.CategoryMenuEntity;
import com.rede.didiok.common.dto.admin.CategoryMenuDto;

/**
 * 管理员表
 *
 * @author Rede
 * @email didiok@foxmail.com
 * @date 2023-08-07 18:21:17
 */
public interface CategoryMenuService extends IService<CategoryMenuEntity> {

    /***************************** didiok-admin:start **************************/
    // region  didiok-admin

    /**
     * 获取菜单列表
     *
     * @param categoryMenuDto
     * @return
     */
    Map<String, Object> getPageList(CategoryMenuDto categoryMenuDto);

    /**
     * 获取全部菜单列表
     *
     * @param keyword
     * @return
     */
    List<CategoryMenuEntity> getAllList(String keyword);

    /**
     * 获取某个用户允许访问的菜单列表
     *
     * @param userName
     * @return
     */
    List<CategoryMenuEntity> getCategoryMenuByUserName(String userName);

    /**
     * 获取所有二级菜单-按钮列表
     *
     * @param keyword
     * @return
     */
    List<CategoryMenuEntity> getButtonAllList(String keyword);

    /**
     * 新增菜单
     *
     * @param categoryMenuDto
     */
    String addCategoryMenu(CategoryMenuDto categoryMenuDto);

    /**
     * 编辑菜单
     *
     * @param categoryMenuDto
     */
    String editCategoryMenu(CategoryMenuDto categoryMenuDto);

    /**
     * 批量删除菜单
     *
     * @param categoryMenuDto
     */
    String deleteCategoryMenu(CategoryMenuDto categoryMenuDto);

    /**
     * 置顶菜单
     *
     * @param categoryMenuDto
     */
    String stickCategoryMenu(CategoryMenuDto categoryMenuDto);


    // endregion
    /***************************** didiok-admin:end **************************/



    /***************************** didiok-web:start **************************/
    // region didiok-web

    // endregion
    /***************************** didiok-web:end **************************/

}

